• 问题

    Java平台建立了一套很好的命名惯例(naming convention),其中有许多命名惯例包含在《The Java Language Specification》中。不严格的讲,这些命名惯例分为两大类:字面的和语法的。具体的,在实际开发中应该遵守哪些命名规范?

  • 答案

    1. 包的命名:包的名称应该是层次状的,用句号分隔每部分。每个部分都包括小写字母和数字(很少使用数字)。任何将在你的组织之外使用包,其名称都应该以你的组织的Internet域名开头,并且顶级域名放在前面,例如:edu.cmu com.sun 包名称的其余部分应该包括一个或者多个描述该包的组成部分。这些组成部分 应该比较简短,通常不超过8个字符。鼓励使用有意义的缩写形式,例如,使用 utils而不是utilities。只取首字母缩写形似也是可以接受的,例如awt。 每个组成部分通常都应该由一个单词或者一个缩写词组成
    2. 类和接口的命名,包括枚举和注解类型的名称,都应该包括一个或者多个单词没个单词都首字母大写;
    3. 方法和域的名称
      • 方法和域的名称与类和接口的名称一样,都遵守相同的字面惯例,只不过方法或者域的名称的第一个字母应该小写,例如remove,ensureCapacity。
      • 常量域:包括一个或多个大写的单词,中间用下划线隔开,例如 private static final int GET_ASSOCIATIONS_ACTION = 1。常量域是唯一一个推荐使用下划线的情形;
      • 类型参数名称通常由单个字母组成。这个字母通常是以下五种类型之一; T表示任意类型的,E表示集合元素类型,KV表示映射的键和值类型,X表示异常。任何类型的序列可以是TUV或者T1T2T3
      • 执行某个动作方法通常用动词或者动词短语来命名,例如append和drawimage;
      • 对于返回boolean值的方法,其名词往往以单词“is”开头,后面跟名词或者名词短语或者具有形容词功能的单词和短语,例如isDigit、isProbalePrime、 isEmpty、isEnable、hasSiblings;
      • 转换类型的方法、返回不同的类型对象方法,通常被称为toType,例如toString和toArray。 返回视图的方法通常被称为asType。例如asList。 返回一个与被调对象同值的基本类型的方法,通常被称为typeValue,例如intValue; 静态工厂的常用名称为valueOf、of、getInstance、newInstance、getType和NewType
  • 结论

    把标准的命名规范当做是一种内在的机制看待,按照规范命名,不仅会让代码的可读性更强,而且会减少一些不必要的错误。

results matching ""

    No results matching ""